/**
* Created with IntelliJ IDEA.
* Description:
* User: 38917
* Date: 2025-02-01
* Time: 12:39
*/
//非静态成员变量初始化四个途径
    //直接在创建变量时赋值
    //利用setDate赋值
    //利用构建方法赋值
    //实例代码块初始化
//静态成员变量初始化两个途径
    //就地初始化
    //静态代码块初始化
public class Date {
    public int year;
    public int month;
    public int day;//这三个是非静态成员变量，属于对象，访问方式：对象的引用.xxx
    public static int classRoom;//static修饰之后，就是静态成员变量，存在于方法区，访问方式：类名.xxx

//    public void setDate1(Date this,int y,int m,int d) {
//        this.year = y;
//        this.month = m;
//        this.day = d;
//    }

//    public void setDate(int year,int month,int day) {
//        this.year = year;
//        this.month = month ;
//        this.day = day;
//    }
//
     public void print() {
        System.out.println("year: "+year + " month : " +month +" day: "+day);
    }
    public Date(){
         this(2000,12,12);//this()可以找到另一个参数匹配的构建方法，并且只能在第一行
    }
    public Date(int year,int month,int day){
        this.year = year;
        this.month = month;
        this.day = day;
    }
    public static void func(){
        System.out.println("这是一个静态方法");//不能直接调用非静态方法或者非静态成员变量，不能使用this
        Date date = new Date();//创建一个对象，然后通过对象的引用来调用非静态方法
        date.print();
    }

    public static void main(String[] args) {
//        Date date = new Date();
//        date.setDate(1999,1,1);
//        date.print();
//
//        Date date2 = new Date();
//        date2.setDate(1989,11,11);
//        date2.print();
        //构造方法初始化成员变量
        Date date = new Date();
        //Date date = new Date(2000,12,12);
        date.print();
        //date.year = 1000;
        Date.classRoom = 109;// 静态成员变量（类变量）
        System.out.println(Date.classRoom);
        Date.func();//静态方法（类方法）
    }

}
